#ifndef _TCP_H_
#define _TCP_H_

// 导入头文件
#include <head.h>

// 数据对象
typedef struct user_data
{
    char name[128];
    char password[128];
    int sock;
}user_data;

// 数据关系
typedef struct user_list
{
    user_data data[1024];
    int len;
}user_list;

// 线程传参
typedef struct pthread_arg
{
    user_list * list;
    int sock;
}pthread_arg;


// 声明函数  TCP 函数
/*
tcp_server_init
功能
    用于创建服务器套接字 用于绑定服务器主机信息
参数
    @ port 启用端口
返回值
    服务器套接字

    创建套接字失败 -1
    绑定失败 -2
*/
int tcp_server_init( in_port_t port );

/*
tcp_server_listen
功能
    用于监听以及连接 并返回客户端套接字
参数
    @ port 启用端口
返回值
    成功 客户端套接字
   
    监听失败 -3
    连接失败 -4
*/
int tcp_server_listen(void);


void tcp_server_close(void);

// 声明函数  线程函数
void * pthread_server(void * arg);  
void send_all(user_data my_user);   // 群发


// 声明函数  顺序表



// 数据操作
// 初始化操作
user_list * Init_Sql_List(void);

// 插入 尾差
void tail_insert_tail(user_list * list , user_data data);


//删除
void pos_del_list(user_list * list , user_data data );

// 登录 查找   查找 返回 >0  没查到 返回 -1
int find_Sql_list(user_list *list, user_data data);

//
int find_Sql_list_index(user_list *list, user_data data);


#endif



